﻿// Decompiled with JetBrains decompiler
// Type: Netick.Unity.ScenePendingObjectKey
// Assembly: Netick.Unity, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: E128C7FD-39ED-4452-86AC-6EC748457030
// Assembly location: D:\WorkSpaceDemo\UPM\NetickForUnity\Netick\Runtime\Netick.Unity.dll
// XML documentation location: D:\WorkSpaceDemo\UPM\NetickForUnity\Netick\Runtime\Netick.Unity.xml

using System;
using System.Runtime.CompilerServices;

#nullable disable
namespace Netick.Unity;

internal struct ScenePendingObjectKey(int sceneObjectId, int sceneLoadId) : 
  IEquatable<ScenePendingObjectKey>
{
  public int SceneObjectId = sceneObjectId;
  public int SceneLoadId = sceneLoadId;

  [MethodImpl(MethodImplOptions.AggressiveInlining)]
  public override int GetHashCode() => (this.SceneObjectId, this.SceneLoadId).GetHashCode();

  [MethodImpl(MethodImplOptions.AggressiveInlining)]
  public override bool Equals(object other)
  {
    return other is ScenePendingObjectKey other1 && this.Equals(other1);
  }

  [MethodImpl(MethodImplOptions.AggressiveInlining)]
  public bool Equals(ScenePendingObjectKey other)
  {
    return this.SceneObjectId.Equals(other.SceneObjectId) && this.SceneLoadId.Equals(other.SceneLoadId);
  }
}
